Network management systems typically include a management device and one or more managed devices. The management device provides a mechanism by which an administrator manages the managed devices, i.e., periodically configures the devices and monitors their activity. Recently, management devices have been designed to process manufacturer-supplied schemas (e.g., extensible markup language (XML) schemas typically in the form of XML Schema Definition (XSD) documents) that specify proper interaction and configuration of the managed devices. In other words, a manufacturer of a network device may supply a schema that specifies proper mechanism for interacting with and configuring the features of the network device. Further information on XML documents and XSD documents can be found in Extensible Markup Language (XML) 1.0 (Fifth Edition), W3C Recommendation 26 Nov. 2008, and XML Schema Part 1: Structures Second Edition, W3C Recommendation 28 Oct. 2004, respectively, the entire contents of both being incorporated herein by reference.
In general, the XML schema provided by the device manufacturer specifies appropriate syntactical structure for XML configuration files that, when produced by the management system in compliance with the XML schema, will be received and understood by the corresponding managed device so as to configure the managed device. For example, a schema may be used to describe to the management system the elements and attributes that can properly be present within the XML configuration file for that configuration file to be considered valid for a given managed device in view of the specifications of the device, the functions provided by the device, the network requirements for configuration of the device such as an Internet protocol (IP) address and hostname for the device, and mechanisms by which the management device interacts with the managed device. When a new version of a device is developed, a new schema may also be developed and released by the manufacturer, where the new schema completely specifies the permissible XML elements and parameters for all the features of the new version of the device.
Schemas for different versions of a device in the same device family will typically be substantially the same, but have some slight differences, to reflect differences between the different versions of the devices in the same family. Moreover, in order to simultaneously support different versions (that is, releases) of devices in the same device family, a management device must load multiple different schemas, one for each different version of the device that is to be managed.
As the number of versions of a device increases, loading multiple schemas will have a major impact on computer resources and system performance. Simply combining all of the schema versions into one master schema per device family (e.g., using an XML “import” or “include” statement) will result in an inefficient data structure that is not optimized, and can also result in errors such as scope errors for similarly declared elements and type errors similarly for defined element types.
Instead, in many cases, network management systems store each schema for each support version of a given managed device separately. Conventional network management systems typically either dynamically load a corresponding version according to a specific device, or initially loads all the releases of the schemas. Both of these conventional techniques are inefficient, time consuming and consume significant computing resources. Version-specific schemas are often larger than ten megabytes.